package nc.vo.pu.m20.entity;

import nc.vo.annotation.AggVoInfo;
import nc.vo.pub.ISuperVO;
import nc.vo.pubapp.pattern.model.entity.bill.AbstractBill;
import nc.vo.pubapp.pattern.model.meta.entity.bill.BillMetaFactory;
import nc.vo.pubapp.pattern.model.meta.entity.bill.IBillMeta;

@AggVoInfo(parentVO = "nc.vo.pu.m20.entity.PraybillHeaderVO")
public class PraybillVO extends AbstractBill {
	private static final long serialVersionUID = -198180883187512658L;
	private boolean isUserConfirm;
	private String msg;

	public PraybillItemVO[] getBVO() {
		return (PraybillItemVO[]) getChildren(PraybillItemVO.class);
	}

	public PraybillSupplierVO[] getSupplierVO() {
		return (PraybillSupplierVO[]) getChildren(PraybillSupplierVO.class);
	}

	public PraybillHeaderVO getHVO() {
		return (PraybillHeaderVO) getParent();
	}

	public boolean getIsUserConfirm() {
		return this.isUserConfirm;
	}

	public IBillMeta getMetaData() {
		return BillMetaFactory.getInstance().getBillMeta(PraybillVOMeta.class);
	}

	public String getMsg() {
		return this.msg;
	}

	public void setBVO(PraybillItemVO[] children) {
		setChildren(PraybillItemVO.class, children);
	}

	public void setSupplierVO(PraybillSupplierVO[] children) {
		setChildren(PraybillSupplierVO.class, children);
	}

	public void setHVO(PraybillHeaderVO voaParent) {
		setParent(voaParent);
	}

	public void setIsUserConfirm(boolean isUserConfirm) {
		this.isUserConfirm = isUserConfirm;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}
	
	@Override
	public String[] getTableCodes() {
		return super.getTableCodes();
	}
}
